#ifndef _WX_STDPATHS_H_
#define _WX_STDPATHS_H_

#include "wx/defs.h"
#include "wx/string.h"
#include "wx/filefn.h"

class wxStandardPathsBase {
  public:
    enum ResourceCat {
      ResourceCat_None,
      ResourceCat_Messages,
      ResourceCat_Max
    };
    static wxStandardPathsBase& Get();
    virtual wxString GetExecutablePath() const;
    virtual wxString GetConfigDir() const = 0;
    virtual wxString GetUserConfigDir() const = 0;
    virtual wxString GetDataDir() const = 0;
    virtual wxString GetLocalDataDir() const;
    virtual wxString GetUserDataDir() const = 0;
    virtual wxString GetUserLocalDataDir() const;
    virtual wxString GetPluginsDir() const = 0;
    virtual wxString GetResourcesDir() const { return GetDataDir(); }
    virtual wxString GetLocalizedResourcesDir( const wxChar *lang,ResourceCat category = ResourceCat_None ) const {
      return GetResourcesDir() + wxFILE_SEP_PATH + lang;
    }
    virtual wxString GetDocumentsDir() const;
    virtual wxString GetTempDir() const;
    virtual ~wxStandardPathsBase();
  protected:
    static wxString AppendAppName( const wxString& dir );
};

#include "wx/unix/stdpaths.h"

#endif
